﻿#define _CRT_SECURE_NO_WARNINGS 1

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    int n, x;
    cin >> n >> x;
    vector<int> arr(n, 0);
    for (int i = 0; i < n; ++i)
    {
        cin >> arr[i];
    }
    int left = 0, right = 0;
    int minleft = 0, maxright = 10000;
    int sum = 0;
    while (right < n)//扩大滑动窗口，直到总和大于x
    {
        sum += arr[right++];
        while (sum >= x)//缩小滑动窗口，找最小区间
        {
            if (right - left < maxright - minleft)
            {
                minleft = left;
                maxright = right;
            }
            sum -= arr[left++];
        }
    }
    cout << minleft + 1 << " " << maxright << endl;//注意坐标是从1开始
}

/*
链接：https://ac.nowcoder.com/acm/problem/221681
来源：牛客网

题目描述
读入n，x,给出n个数a[1],a[2],……,a[n],求最小的区间[l,r]，使a[l]+a[l+1]+……+a[r]≥x，
若存在相同长度区间，输出最小的那个

输入描述:
第一行两个数，n(1≤n≤10000000),x(1≤x≤10000)
第二行n个数a[i](1≤a[i]≤1000)
输出描述:
输出符合条件l,r(保证有解)

示例1
输入

10 20
1 1 6 10 9 3 3 5 3 7
*/

